package com.bird.extension.pattern.simpleFactory.factoryMethod;

import com.bird.extension.pattern.simpleFactory.entity.Mouse;
 /**
 * @Author: sijunqiang
 * @Date: 2020/3/31 23:40
 * @Description: 测试用例
 */
public class TestDemo {

    /**
     * 测试使用 工厂方法的方式 对业务进行扩展 而不用修改原代码
     * 遵行开闭原则
     *
     * @param args
     */
    public static void main(String[] args) {
        //创建一个dell工厂
        DellMouseFactory dm = new DellMouseFactory();
        //调用创建del鼠标的方法
        Mouse mouse = dm.createMouse();
        //生产鼠标
        mouse.sayHello();
    }


    /**
     * 测试使用工厂方法模式,利用在遵循开闭原则的情况下 通过扩展改变变化
     *
     */

    public void test_LevonoMouse(){
        //创建联想工厂
        LenovoMouseFactory lenovoMouseFactory = new LenovoMouseFactory();
         //利用多态的方式
        Mouse mouse = lenovoMouseFactory.createMouse();
          mouse.sayHello();
    }

}
